package com.woniu.cloud.shopassembly.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.woniu.cloud.common.dto.Result;
import com.woniu.cloud.entity.TScoreGood;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniu.cloud.entity.TStoreGood;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
import org.springframework.cache.annotation.Cacheable;

/**
 * <p>
 * 积分商品表 服务类
 * </p>
 *
 * @author hyy
 * @since 2021-09-22
 */
public interface ITScoreGoodService extends IService<TScoreGood> {



    @CachePut(cacheNames = "cachescoregood:id",key="#scoreGoodId")
    TScoreGood updateRedis(Integer scoreGoodId);

    @Cacheable(cacheNames = "cachescoregood:id",key="#scoreGoodId")
    TScoreGood insertRedis(Integer scoreGoodId);




    TScoreGood getScoreGoodByScoreGoodId(Integer scoreGoodId);

    Result getScoreGoodByGoodName(String scoreGoodName, Integer pageIndex);

//    Result getScoreGoodByScoreGoodType(String scoreGoodType, Integer pageIndex);

    Result insertScoreGood(TScoreGood storeGood);

    Result updateScoreGood(TScoreGood storeGood);

    Result updateGoodGoodNumByGoodId(Integer scoreGoodId, Integer scoreGoodNum);

    Result updateGoodSellNumByGoodId(Integer scoreGoodId, Integer scoreGoodSellNum);

    Result updateScoreGoodStatusByScoreGoodId(Integer scoreGoodId,Integer scoreGoodStatus);

    @CacheEvict(cacheNames = "cachescoregood:id",key = "#scoreGoodId")
    Result deleteGoodByGoodId(Integer scoreGoodId);


    TScoreGood getScoreGoodByStoreAndGood(Integer storeId, Integer goodId);
}
